/*********************************************************************************************************************
 * COPYRIGHT NOTICE
 * Copyright (c) 2020,逐飞科技
 * All rights reserved.
 * 技术讨论QQ群：一群：179029047(已满)  二群：244861897(已满)  三群：824575535
 *
 * 以下所有内容版权均属逐飞科技所有，未经允许不得用于商业用途，
 * 欢迎各位使用并传播本程序，修改内容时必须保留逐飞科技的版权声明。
 *
 * @file            main
 * @company         成都逐飞科技有限公司
 * @author          逐飞科技(QQ790875685)
 * @version         查看doc内version文件 版本说明
 * @Software        MDK FOR C51 V9.60
 * @Target core     STC8A8K64S4
 * @Taobao          https://seekfree.taobao.com/
 * @date            2020-4-14
 ********************************************************************************************************************/

#include "headfile.h"

//uint16 duty = 0;
//bit dir = 0;
uint8 dev_id;
float angle_x, angle_y;

idata uint16 test_u16, i;
idata float  test_f = 0.25;
idata uint8  test_str[20];

#if (1==PRINTF_ENABLE)
extern uint32 sys_clk;
extern uint16 pca_delay_1ms;
#endif
void main()
{
    uint16 adc_data = 0;
    DisableGlobalIRQ();
    board_init();
    led_init();
    key_init();
    EnableGlobalIRQ();
#if (1==PRINTF_ENABLE)
    uart_putstr ( UART_1, "i lvoe you\r\n" );
    printf ( "this is stc8a8k64D4\r\n" );
    printf ( "sysclk= %ld\r\n", sys_clk );
    printf ( "pca_delay_1ms= %d\r\n", pca_delay_1ms );
#endif

//    adc_init ( ADC_P10, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.0通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P11, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.1通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P12, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.2通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P13, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.0通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P14, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.1通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P15, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.2通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P16, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.0通道 ，ADC时钟频率：SYSclk/2
//    adc_init ( ADC_P17, ADC_SYSclk_DIV_2 );   //初始化ADC,P1.1通道 ，ADC时钟频率：SYSclk/2

//    pwm_init(PWM0_P60, 10000, 9500);     //初始化PWM5  使用引脚P2.5  输出PWM频率10000HZ   占空比为百分之 pwm_duty/PWM_DUTY_MAX*100
//    pwm_init(PWM1_P61, 10000, 9500);
//    pwm_init(PWM2_P62, 10000, 9500);
//    pwm_init(PWM3_P63, 10000, 9500);

//    init_ADXL345();
//    dev_id = single_read_ADXL345(0x00); //devid == 0xE5
#if (1==PRINTF_ENABLE)
    printf("devid=%bx\r\n", dev_id);
#endif
    uart_init(UART_3, UART3_RX_P50, UART3_TX_P51, 115200, TIM_2);
    LED1_OFF;
    LED2_OFF;
    LED3_OFF;
    LED4_OFF;

    //uart_putstr(UART_3, "hello,imuart3\r\n");

    printf("read led= 0x%bx\r\n", HGUS_ReadByte(HGUS_LED_SET));
    pca_delay_ms(500);
    printf("read picno= 0x%x\r\n", HGUS_ReadWord(HGUS_PIC_ID));
    pca_delay_ms(500);
    HGUS_WriteByte(HGUS_BEEP, 0x60);
    pca_delay_ms(500);
    HGUS_WriteWord(HGUS_PIC_ID, 0x05);
    pca_delay_ms(500);
    printf("read 0104= %d\r\n", HGUS_ReadVarWord(0x0104));
    pca_delay_ms(500);
    HGUS_WriteVarWord(0x0106, 39);
    pca_delay_ms(500);
    tick_TimerInit();
    while ( 1 )
    {
//        if (1 == recvDoneFlag )
//        {
//            LED1_TOGGLE;
//            uart_putbuff( UART_1, recvBuf , recvBuf[2] + 3);
//            recvDoneFlag = 0;
//        }

//        led_flash_demo ( 1 );

//        get_angle_xy(&angle_x, &angle_y);
//        printf("arcx=%f,arcy=%f\r\n", angle_x, angle_y );
//              printf("systick=%ld\r\n",tick_GetTicks());
//          pwm_duty(PWM0_P60, duty);
//          pwm_duty(PWM1_P61, duty);
//          pwm_duty(PWM2_P62, duty);
//          pwm_duty(PWM3_P63, duty);

//        if(!dir)
//        {
//            duty += 50;
//            if(duty >= PWM_DUTY_MAX)
//            {
//                dir = 1;
//                duty = PWM_DUTY_MAX;
//            }
//        }
//        else
//        {
//            duty -= 50;
//            if(duty <= 70)
//            {
//                dir = 0;
//                duty = 0;
//            }
//        }

//        printf ( "key= %bd\r\n",ScanKeyCode() );
//        adc_data = adc_once ( 5, ADC_8BIT );
//        printf ( "adc=%d\r\n",adc_data );
//        adc_data = adc_once ( 6, ADC_8BIT );
//        printf ( "adc=%d\r\n",adc_data );
//        adc_data = adc_once ( 7, ADC_8BIT );
//        printf ( "adc=%d\r\n",adc_data );
//        pca_delay_ms ( 20 );
    }
}












